﻿namespace Luka;

/// <summary>
/// Tonken配置文件类
/// </summary>
[NotScanned]
public sealed class JwtSettiing
{
    /// <summary>
    /// 验证签发人
    /// </summary>
    public bool ValidateIssuer { get; set; }

    /// <summary>
    /// 签发人
    /// </summary>
    public string? ValidIssuer { get; set; }

    /// <summary>
    /// 验证签收人
    /// </summary>
    public bool ValidateAudience { get; set; }

    /// <summary>
    /// 签收人
    /// </summary>
    public string? ValidAudience { get; set; }

    /// <summary>
    /// 验证码密钥
    /// </summary>
    public bool ValidateIssuerSigningKey { get; set; }

    /// <summary>
    /// 密钥
    /// </summary>
    public string? IssuerSigningKey { get; set; }

    /// <summary>
    /// 验证过期时间
    /// </summary>
    public bool ValidateLifetime { get; set; }

    /// <summary>
    ///  过期时间（分钟）
    /// </summary>
    public int ExpireMinutes { get; set; }

    /// <summary>
    /// 容错值（秒）
    /// </summary>
    public int ClockSkew { get; set; }

    /// <summary>
    /// 加密算法
    /// </summary>
    public string? Algorithm { get; set; }
}